import { defineStore } from 'pinia';
import { UserState } from '@2/app/core/storage/user.storage';
import { store } from '@/store';
import { StorageEnum } from '@2/app/core/storage/storage.enum';

/**
 * 用于定义用户存储
 * @return 定义用户存储，（不能为 undefined）
 */
const defineStorage = defineStore({
  id: StorageEnum.USER_STORE_NAME,
  state: (): UserState => ({
    LoginAppUser: null,
    token: undefined,
    sessionNonExpired: false,
    lastUpdateTime: 0,
  }),
});

/**
 * 用于需要在设置之外使用，定义用户存储
 * @return 定义用户存储，（不能为 undefined）
 */
export function userDefineStore() {
  return defineStorage(store);
}
